Determining ratings based on ratings of other entities

ABSTRACT

Information about a first characteristic of one or more entities related to a first entity is obtained. Then one or more characteristic values are calculated for the first characteristic of the one or more entities related to the first entity. Then a first rating is assigned to the first entity based on the one or more characteristic values for the first characteristic of the one or more entities related to the first entity.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a Continuation of U.S. patent application Ser. No.14/159,272, filed Jan. 20, 2014, which is a Continuation of U.S. patentapplication Ser. No. 13/651,661, filed Oct. 15, 2012, which is aContinuation of U.S. Non-Provisional patent application Ser. No.09/503,960, filed Feb. 14, 2000, the benefit of priority of each ofwhich is claimed hereby, and each of which are incorporated by referenceherein in its entirety.

COPYRIGHT NOTICE

Contained herein is material that is subject to copyright protection.The copyright owner has no objection to the facsimile reproduction ofthe patent disclosure by any person as it appears in the Patent andTrademark Office patent files or records, but otherwise reserves allrights to the copyright whatsoever.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention relates generally to the field of online commerce. Moreparticularly, the invention relates to rating systems and user feedbackmechanisms for use in electronic environments, e.g., online tradingenvironment, online shopping site, online auctioning site, onlineperson-to-person trading site, online gaming site or other electronicenvironment were user feedback is provided, including those within anInternet marketplace community.

2. Description of the Related Art

The Internet and the World Wide Web (“Web”) have changed the landscapeof information delivery and affected numerous aspects of life, includingcommerce and entertainment. One area that has benefited from thistechnological development is the ability of individuals to buy and sellproducts within an Internet marketplace community. Many companiesoperate auctions and other selling mechanisms on servers connected tothe users over one or more networks, typically including the Internet.The users buying and/or selling items over these networks looselycomprise a market place community within an electronic environment. Adistinction between non-electronic selling devices such as traditionalgarage sales and current electronic selling mechanisms is the componentof anonymity inherent in electronic environment, which is not alwaysconducive to forming a trusting environment in which two or more userswish to form a buyer-seller relationship.

To overcome some reservations about the anonymity component within theelectronic marketplace community and to provide incentives forparticipating in transactions within the electronic marketplaces,Internet marketplaces, such as auction sites run by eBay, Inc. of SanJose, California provide feedback ratings generated from feedbackbetween users regarding trading transactions. A user's feedback ratingis an indication of the user's reputation within the electroniccommunity, and provides some indication of the trustworthiness andresponsiveness of the user. A representation of a user's feedback ratingis typically displayed along with a buying or selling transactionrequest by the user which provides the other party to the transaction anindication of the trustworthiness or past participation level of theuser.

One implementation of feedback rating is illustrated in FIG. 1, in whichfeedback ratings 131-137 have been respectively established formarketplace users 121-127 based on votes 110 received from other users.These votes could reflect a positive recommendation and add one or morepoints to a user's feedback rate; or could reflect a negative experienceand subtract one or more points from a user's feedback rating.

Feedback ratings provide a good mechanism for indicating a level ofindicating a user's trustworthiness or past participation within anelectronic commerce forum. Users desire to increase their feedbackratings because they are one indication of a user's reputation in theelectronic community and some marketplace providers give awards oridentify the users whose feedback ratings have reached a certain value,or some number of users with the highest feedback ratings.

However, feedback ratings do not provide a direct incentive forexpanding the electronic marketplace. Needed is a new mechanism toprovide an incentive for bringing new users into the electroniccommunity.

SUMMARY OF THE INVENTION

A method and apparatus are described for determining a community ratingfor a particular user within an electronic community. According to oneembodiment a characteristic value is maintained for each user within theelectronic community. The value may be representative of anycharacteristic of the user that is valuable or useful within theelectronic community. For example, in an electronic trading communitythrough which goods and services are bought and sold, it is advantageousfor a user to have a measure of the reputation of other users with whomthe user is conducting a buying or a selling transaction. A set ofrelationships between the various members of the electronic community isalso maintained as applicable. For example, the set of relationshipsmight contain information about new users that were brought into thecommunity by a particular user. A community rating is derived for aparticular user of the electronic community based on a characteristicvalue associated with the particular user and the characteristic valuesassociated with users related to the particular user.

Advantages and other features of the invention will be apparent to oneskilled in the art from the accompanying drawings and from the followingdetailed description.

BRIEF DESCRIPTION OF THE DRAWINGS

The appended claims set forth the features of the invention withparticularity. The invention, together with its advantages, may be bestunderstood from the following detailed description taken in conjunctionwith the accompanying drawings of which:

FIG. 1 is a block diagram of a prior art approach for determiningfeedback ratings for users in the Internet community;

FIG. 2 is a block diagram of an exemplary embodiment of a methodologyfor determining community feedback ratings for users in accordance withthe invention;

FIG. 3 is a block diagram of an exemplary operating environment in whichthe invention may be practiced;

FIG. 4 is a block diagram of an exemplary operating architecture inwhich the invention may be practiced;

FIG. 5A is a block diagram of an exemplary data structure formaintaining a feedback rating for a user and the relationship of theuser to other users within the electronic community;

FIG. 5B is a block diagram of an exemplary configuration of populateddata structures corresponding to the exemplary configuration illustratedin FIG. 2; and

FIGS. 6A-B are high-level flow diagrams for determining a communityfeedback rating for a user in an embodiment of the invention.

DETAILED DESCRIPTION OF THE INVENTION

A rating system is described for use in an online environment. In thefollowing description, for the purposes of explanation, numerousspecific details are set forth in order to provide a thoroughunderstanding of the present invention. It will be apparent, however, toone skilled in the art that the present invention may be practicedwithout some of these specific details. In other instances, well-knownstructures and devices are shown in block diagram form.

As will be described in greater detail below, the present inventionincludes features for enhancing the online trading experience for bothbuyers and sellers. For example, the improved rating system may bestructured to encourage existing members to refer new members therebyincreasing community registrations and the pool of potential tradingpartners. According to one feature of the present invention, when a userattaches feedback to another user, the feedback contributes to twodifferent ratings, a Feedback Rating and a Community Rating. A user'sCommunity Rating is based upon the user's Feedback Rating and theFeedback Ratings of other users associated with that user. For example,a user's Community Rating may be represented by the sum of the user'sFeedback Rating, the number of users the user has referred to the onlinetrading community, and the Community Ratings of all users referred.Advantageously, in this manner, the relative value of a user'scontributions to the online community can be measured in terms of thenumber of referrals and trustworthiness of the referred users.

In the preferred embodiment, the steps of the present invention areembodied in machine-executable instructions. The instructions can beused to cause a general-purpose or special-purpose processor, which isprogrammed with the instructions to perform the steps of the presentinvention. Alternatively, the steps of the present invention might beperformed by specific hardware components that contain hardwired logicfor performing the steps, or by any combination of programmed computercomponents and custom hardware components.

The present invention may be provided as a machine-readable mediumcomputer having stored thereon a computer program comprisinginstructions which may be used to program a computer (or otherelectronic devices) to perform a process according to the presentinvention. The machine-readable medium may include, but is not limitedto, floppy diskettes, optical disks, CD-ROMs, and magneto-optical disks,ROMs, RAMs, EPROMs, EEPROMs, magnet or optical cards, or other type ofmedia/machine-readable medium suitable for storing electronicinstructions. Moreover, the present invention may also be downloaded asa computer program product, wherein the program may be transferred froma remote computer (e.g., a server) to a requesting computer (e.g., aclient) by way of data signals embodied in a carrier wave or otherpropagation medium via a communication link (e.g., a modem or networkconnection).

Importantly, while embodiments of the present invention will bedescribed with respect to an online person-to-person tradingenvironment, the method and apparatus described herein are equallyrelevant to other electronic environments in which ratings or values areassigned to users. For example, it is envisioned that an online gamingforum might want to provide an aggregate community rating based on theskill level of a particular gamer and fellow gamers with whom he/she isassociated.

For purposes of the specification, the term “characteristic value” shallbe an indication, whether alphabetic, graphic, symbolic, or otherwise,of a characteristic of a user within a community or group of relatedcommunities. For example, as discussed herein, a “feedback rating,”which is a characteristic value based on feedback received from otherusers about a user relative to transactions conducted by the user, isone type of characteristic value of a user. Other characteristic valuescould include, but are not limited to, measures of the user's honesty,the quality of products or services provided by the user, or the skillor expertise of the user relative to a purpose of the community. Theterm “community rating” shall include any indication, whether numeric,graphic or otherwise, of a characteristic of a user's relationshipswithin a community or group of related communities. For example, a usermay have a community rating based on the aggregate of all the feedbackratings of other users he referred to the community. The characteristicvalues or community ratings of users may be indicated in any number ofways such as a thumbs-up symbol to indicate a favorable rating or anumber indicating a relative measure when compared to other users or adefined scale.

Community Rating Overview

FIG. 2 and its discussion herein are intended to provide a descriptionof a general approach to determining a community feedback rating for auser, with scope of the invention including many variations of thisgeneral approach. The invention provides different methodologies formanipulating the individual feedback ratings and other data elements andthe relationships among the various users to derive a community ratingfor an individual user. Typically, a community rating for the individualuser is, at least partially, determined by the number of other users theindividual user brings into the electronic community, and in someinstances, the reputation or feedback ratings of the other users.

User relationships are represented as an n-ary tree, where any userbrought into the electronic community by sponsoring user is a child ofthe sponsoring user, and children of a same sponsoring user aresiblings. An electronic community typically contains numerous trees ofusers, with the root of each tree representing a user who did notidentify a sponsoring user. Embodiments of the invention allow a user tospecify more than one sponsor, and these embodiments determine thecommunity rating accordingly.

FIG. 2 illustrates one potential grouping of users 121-127 of FIG. 1,and further identifies an exemplary set of relationships 241-252 amongthese users 121-127 in the electronic community. For example, thisconfiguration represents that user astoyroid 124 sponsored usersred-deer 125 and dygsp 126, red-deer 125 sponsored carter 123, cartersponsored p2p 122 and coin-nut 121, and dygsp 126 sponsored antyques127. The exemplary set of feedback ratings 131-137 for users 121-127 arefurther illustrated.

The various exemplary community ratings 231-237 respectively for users121-127 are presented in FIG. 2. As previously mentioned, the inventionprovides for various methodologies to determine a community rating foran individual user by manipulating such factors as the feedback ratings,other data elements, and/or the relationships among the users of theelectronic community. The methodology represented by the communityratings 231-237 is to aggregate the feedback rating 131-137 for theindividual user with all the community ratings 231-237 of users broughtinto the electronic community by the individual user. In other words, byrepresenting the relationships among users as a tree structure, thecommunity rating 131-137 for a user is the aggregate of the feedbackratings of the user and all its descendents. In this manner, thecommunity rating 232 of p2p 122 is its feedback rating 132; thecommunity rating 233 for carter 123 is the sum of the feedback ratings131-33 for users coin-nut 121, p2p 122 and carter 123; and the communityrating 234 of astroyriod 124 is the sum of feedback ratings 131-137.

Additional variations of this methodology include adding one or morepoints to the community rating for each child node, weighting the effecta descendent user has on a community rating of a patriarch based on howmany degrees removed the user is from the patriarch, or using somevariation of the feedback rating (e.g., if the feedback rating isnegative, use zero; use a weighted or threshold value instead of theactual feedback rating, adding a fixed amount such as one or five pointsto a community rating for each sponsored user rather than using theactual feedback ratings). Additionally, multiple community ratings foran individual user can be determined and presented using a number ofvarious methodologies applied to determine the community rating and thedifferent characteristic values that are used to derive the communityrating.

Computing Environment Overview

FIG. 3 and its discussion herein are intended to provide a descriptionof an exemplary computing environment in which the invention can bepracticed. The invention, however, is not limited to a single computingenvironment. Moreover, the architecture and functionality of theinvention as taught herein and would be understood by one skilled in theart is extensible to an unlimited number of computing environments andembodiments in keeping with the scope and spirit of the invention.

Illustrated are viewing computer 355, communications network 345, andserver computer 305. In an embodiment of the invention, sellers andbuyers use a viewing computer (or a plurality of computers) 355, andserver computer (or a plurality of computers) 305 receives the feedbackinput from sellers and buyers and determines the community ratings forthe individual users.

Viewing computer 355 typically comprises a standard computer platform ora specialized computer platform, including, but not limited to a desktopcomputer, a laptop computer, personal data assistant, and a handheldcomputer. For purposes of simplicity, only one viewing computer 355 isshown; however, the number of viewing computers supported by theinvention is unbounded, and can be especially large with network 345comprises the Internet or other wide-area networking technology. In anembodiment, viewing computer 355 comprises a processor 360, memory 365,storage devices 370, a network interface 349, and a display 380, whichare electrically coupled via bus 362. Network interface 349 is connectedto a communications network 345 (e.g., one or more networks, including,but not limited to the Internet, private or public telephone, cellular,wireless, satellite, cable, local area, metropolitan area and/or widearea networks) over connection 348. Memory 365 is one type ofcomputer-readable medium, and typically comprises random access memory(RAM), read only memory (ROM), integrated circuits, and/or other memorycomponents. Memory 365 typically stores computer-executable instructionsto be executed by processor 360 and/or data which is manipulated byprocessor 360 for implementing functionality in accordance with theinvention. Storage devices 370 are another type of computer-readablemedium, and typically comprise disk drives, diskettes, networkedservices, tape drives, and other storage devices. Storage devices 370typically store computer-executable instructions to be executed byprocessor 360 and/or data that is manipulated by processor 360 forimplementing functionality in accordance with the invention.Additionally, viewing computer 355, communications network 345, andserver computer 305 could be implemented in a single computer platform,with the communications network 345 being an internal informationsharing mechanism such as message passing or shared memory.

Server computer 305 typically comprises one or more standard computerplatforms or a specialized computer platforms (e.g., a computer platformoptimized for retrieving information and sending information toclients), including, but not limited to one or more desktop computers,servers, mainframes, laptop computers, handheld computers, and personaldata assistants. For simplicity, only one server computer 305 isdepicted. However, the number of server computers contemplated by theinvention is unbounded. When the invention is used in conjunction with awide geographic area such as over the Internet, typically numerousviewing computers 355 and numerous serving computers 305 are used. Whena plurality of serving computers 305 are used, they can be collocated,or distributed across the communications network 345. Typically, whenthe plurality of viewing computers are distributed across thecommunications network 345.

In an embodiment, server computer 305 comprises a processor 310, memory315, storage devices 320, and a network interface 341, which areelectrically coupled via bus 312. Network interface 341 is connected tothe communications network 345 (e.g., Internet, email network, privateor public network) over a public or private telephone, cellular,wireless, satellite, local area and/or wide area network connection 342.Memory 315 is one type of computer-readable medium, and typicallycomprises random access memory (RAM), read only memory (ROM), integratedcircuits, and/or other memory components. Memory 315 typically storescomputer-executable instructions to be executed by processor 310 and/ordata, which are manipulated by processor 310 for implementing the serverfunctionality. Storage devices 320 are another type of computer-readablemedium, and typically comprise disk drives, diskettes, networkedservices, tape drives, and other storage devices. Storage devices 320typically store computer-executable instructions to be executed byprocessor 310 and/or data which is manipulated by processor.

Architecture Overview

Turning now to FIG. 4, illustrated is an embodiment 400 of theinvention, further illustrating an embodiment of elements 460-490 withinviewing computer 355, and an embodiment of elements 410-440 withinserver computer 305. Viewing computer 355 typically comprises a networkcommunication component or process 490 which interfaces withcommunications network 345 and enables communication with servercomputer 305; one or more data structures 470 for temporarily and/orpermanently storing information; and an information viewer (e.g.,browser) 460 for providing a user interface to a user of viewingcomputer 355. Server computer 305 typically comprises a networkcommunication component or process 440 which interfaces withcommunications network 345 and enables communication with one or moreviewing computers 305; one or more data structures 430 for temporarilyand/or permanently storing information; and an information server 410for providing information to viewing computer 305; and a community ratercomponent or process 420 for determining the community ratings forvarious users.

In an embodiment, the community rater 420 is comprised of both avaluator 421 and an aggregator 422. The aggregator 422 performs arecursive routine, which aggregates the feedback ratings orcharacteristic values of all users in lineal succession to a patriarchaluser for which a community rating is being determined. The valuator 421combines (e.g. adds, determines a weighted average, etc.) thepatriarchal user's characteristic value with the aggregate valuedetermined by the aggregator 422 to determine the patriarchal userscommunity rating. Other embodiments of the invention are envisioned thatuse another methods for determining the community rating that do notspecifically utilize aggregator and valuator components or routines.

Exemplary Data Structure

FIG. 5A illustrates one of numerous data structures 500 which can beused in embodiments of the present invention for storing informationabout users in the electronic community and their relationships. A datastructure 500 is typically used for each user and typically comprises anidentifier 500A (e.g., a name of a user), a feedback rating 500B, andtwo relationship indicators; a closest sibling pointer 500C, and firstchild pointer 500D. Numerous other data structures and formats could beused, such as incorporating additional pointers or distributing theinformation contained in data structure 500 among several datastructures and possibly representing this information in otherrepresentations (e.g., lists, arrays etc.), instead of a linked listdata element.

FIG. 5B, illustrates a block diagram showing a linked list datastructure configuration for the group of users previously introduced inFIG. 2 and using the data structure 500 illustrated in FIG. 5A. Shownare seven users represented by data structures 521-527. List or hashtable 510 provides direct access to any single user data structure521-527. The interrelatedness of the data structures 521-527 is shownwith arrows representing the closest sibling and first child pointers asthey might be contained in each of the data structures to implement thetree structure illustrated in FIG. 2.

Community Rating Determination

FIGS. 6A & 6B illustrate a high-level flow diagrams describing theoperation for determining a community rating for an identified userwithin the linked data structure embodiment illustrated in FIG. 5B usingthe valuator 421 and aggregator 422 introduced supra. The inventionprovides for variations and different flow diagrams and methodologies tobe used in various embodiments to conform to design decisions inimplementing the invention. Moreover, the invention could be embodied inany combination of software, hardware, firmware, etc. Furthermore, theinvention provides for programming the functionality required forpracticing the invention using any programming technology, paradigm,and/or language that exist today or may be developed in the future,including, but not limited to parallel programming, object-orientedtechnology, distributed processing, multi-processing, Java, C, C++, andassembly language.

FIG. 6A is a high level flow diagram illustrating a routine that may beperformed by a valuator 421 to determine a community rating for theidentified user. The routine begins at step 600, and proceeds to step605 where the community rating for the identified user is set to theidentified user's feedback rating. Next, step 610 is performed todetermine whether the identified user has any children. If theidentified user does not, the identified user's community rating isidentical to its feedback rating and the feedback rating is returned asthe identified user's community rating in step 620. If the identifieduser has at least one child, step 615 is invoked and a recursiveaggregator routine is performed as illustrated in FIG. 6 b and discussedinfra. After an aggregate value is returned from the recursiveaggregator routine representing the first child's community rating, theaggregate value is added to the identified user's feedback rating andthe value representing the identified user's community rating isreturned in step 620.

FIG. 6B is a high level flow diagram illustrating a recursive routinethat may be performed by an aggregator 422 to determine an aggregatevalue of all the feedback values of all lineal descendents of theidentified user. The routine begins at step 650, and proceeds to step655 where the community rating for the first child of the identifieduser is set to the first child's feedback rating. Next, in steps 660 &665, the feedback values for all lineal descendents of the first childare aggregated and the value returned is added to the first child'scommunity rating. If the identified user had at least two children, thesibling field in the first child's related data structure will have apointer to the second child. Accordingly, for each n+1th child of theidentified user, the nth child will have a pointer in the sibling fieldto that child (where n is an integer of at least 1). In steps 670 & 675an aggregate community value for all children other than the first childof the identified user (who are all siblings of the first child) isdetermined and this value is added to the community rating of the firstchild. Finally, the aggregate value of the community rating for all thechildren is returned to the valuator in step 680 to be added with thefeedback rating of the identified user to determine the identifieduser's community rating as discussed supra.

In view of the many possible embodiments to which the principles of ourinvention may be applied, it will be appreciated that the embodimentsand aspects thereof described herein with respect to thedrawings/figures are only illustrative and should not be taken aslimiting the scope of the invention. To the contrary, the invention asdescribed herein contemplates all such embodiments as may come withinthe scope of the following claims and equivalents thereof. For instance,there are many recursive routines well known to those of ordinary skillin the art that could be used to traverse a relationship tree such asthe tree shown in FIG. 2. The methodology presented supra in FIGS. 5A,5B, 6A & 6B is therefore merely representative.

1. A system comprising: an information server executable by a processorand configured to obtain information about a first characteristic of afirst entity; and a rating component configured to: calculate acharacteristic value for the first characteristic of the first entity;associate a first rating to the first entity based on the characteristicvalue for the first characteristic of the first entity; obtaininformation about a second characteristic of one or more entitiesrelated to the first entity; calculate one or more characteristic valuesfor the second characteristic of the one or more entities related to thefirst entity; and associate a second rating to the first entity based onthe one or more characteristic values for the second characteristic ofthe one or more entities related to the first entity.
 2. The system ofclaim 1, wherein the calculating of the one or more characteristicvalues for the second characteristic and the associating the secondrating to the first entity are performed by a community rater.
 3. Thesystem of claim 2, wherein the community rater comprises: a valuatorconfigured to associate a rating to an entity; and an aggregatorconfigured to aggregate ratings of entities.
 4. The system of claim 3,wherein the aggregator is configured to perform a recursive routine toaggregate ratings of entities.
 5. The system of claim 3, wherein thevaluator calculates a weighted average of ratings associated with theone or more entities related to the first entity.
 6. The system of claim1, wherein the one or more entities are represented by a linked listwith links between entries in the linked list representing relationshipsamong the one or more entities.
 7. A method comprising: obtaininginformation about a first characteristic of one or more entities relatedto a first entity; calculating one or more characteristic values for thefirst characteristic of the one or more entities related to the firstentity; and assigning a first rating to the first entity based on theone or more characteristic values for the first characteristic of theone or more entities related to the first entity.
 8. The method of claim7, further comprising: obtaining information about a secondcharacteristic of a first entity; calculating a characteristic value forthe second characteristic of the first entity; and assigning a secondrating to the first entity based on the characteristic value for thesecond characteristic of the first entity.
 9. The method of claim 8,wherein the first characteristic and the second characteristic areidentical.
 10. The method of claim 8, wherein the first characteristicis a skill.
 11. The method of claim 8, wherein the first characteristicis an area of expertise.
 12. The method of claim 8, wherein the firstcharacteristic is trustworthiness.
 13. The method of claim 8, whereinthe one or more entities related to the first entity are related via thefirst entity recommending the one or more entities for acceptance into anetwork.
 14. The method of claim 13, wherein relationships between thefirst entity and the one or more entities are represented as an n-arytree.
 15. The method of claim 14, wherein the first entity was acceptedinto the network without a recommendation from another entity.
 16. Themethod of claim 15, wherein the first entity is represented as a root ofthe n-ary tree.
 17. A non-transitory machine-readable storage mediumcomprising instructions, which when implemented by one or more machines,cause the one or more machines to perform operations comprising:obtaining information about a first characteristic of one or moreentities related to a first entity; calculating one or morecharacteristic values for the first characteristic of the one or moreentities related to the first entity; and assigning a first rating tothe first entity based on the one or more characteristic values for thefirst characteristic of the one or more entities related to the firstentity.
 18. The non-transitory machine-readable storage medium of claim17, further comprising: obtaining information about a secondcharacteristic of a first entity; calculating a characteristic value forthe second characteristic of the first entity; and assigning a secondrating to the first entity based on the characteristic value for thesecond characteristic of the first entity.
 19. The non-transitorymachine-readable storage medium of claim 17, wherein the firstcharacteristic is honesty.
 20. The non-transitory machine-readablestorage medium of claim 17, wherein the first characteristic is qualityof a product provided by the first entity.